import Vue from 'vue'
import App from './App.vue'
import './style/reset.less' //'统一样式文件的使用

//7，引入封装好的路由规则
import router from './router/index'

//2,vant组件库的引入
// import Vant from "vant";
// import "vant/lib/index.css";
// Vue.use(Vant)

//3,手动按需引入
//import Button from 'vant/lib/button';
//simport 'vant/lib/button/style';//注意：这个需要映入button的单独样式，引入其他组件也是一样的
//import { Button } from 'vant' //解构赋值引入Button组件模块
//Vue.use(Button) //挂载在Vue实例上，使用
//注意:在bable.config.js里头还有一个配置项，根据vant文档来操作

Vue.config.productionTip = false

//引入vant里头的icon组件,轻提示组件
import { Button, Popup, List, PullRefresh, Tab, Tabs, Field, Dialog, Icon, Toast, Cell, CellGroup, NavBar, Uploader } from 'vant';

Vue.use(Button);
Vue.use(Popup);
Vue.use(List);
Vue.use(PullRefresh);
Vue.use(Tab);
Vue.use(Tabs)
Vue.use(Field);
// 全局注册
Vue.use(Dialog);
Vue.use(Uploader);
Vue.use(NavBar);
Vue.use(Cell);
Vue.use(CellGroup);
Vue.use(Toast);
Vue.use(Icon);


// 前端基础路径的拼接====》使用过滤器
import axios from './utils/request'
Vue.filter("joinPath", (val) => {
    //添加判断，如果传入的参数有基础路径，那么我就不需要拼接(indexOf为判断数组/字符串中是否含有这个值，有则是返回下标值)
    // 短路运算==》为了判断对象传递过来的是否为空，导致程序报错===》异步请求和同步请求问题
    if (val && val.indexOf("http") != -1) {
        return val
    }
    return axios.defaults.baseURL + val
})

// 引入时间过滤器，全局使用
import "./utils/dayjs"

//引入我们自己封装的表单组件，全局使用
import hmInput from './components/hmInput.vue'
Vue.component("hmInput", hmInput) //自己封装的组件可以不使用vue.use注册，使用Vue.component("hmInput", hmInput)全局注册使用
new Vue({
    //8,挂载
    router: router,
    render: h => h(App),
}).$mount('#app')